In computer operations, including client/server systems, a thread is a particular set of instructions. In a Java™ environment, a thread is the basic unit of program execution. A process may include multiple threads running concurrently, possibly with each thread being involved with a different task. Each thread may operate largely independently from the other active threads.
In monitoring operations of a system, the identity of elements that are working with an active thread may be useful information. For example, a thread may be connected with a particular program component or software unit and with a particular transaction. In a Java environment, a transaction is unit of work that modifies data, which may include one or more program statements. However, a thread may work with numerous different components and transactions, with the components and transactions that are connected with the thread varying over time.
In conventional operations, it is not generally possible to directly identify a component or transaction that is working within a thread at a particular time. Therefore, ability to monitor of a system may be limited and operations may need to rely on external evidence of system processes.